package com.ljh.lottery.common.exception;

import com.ljh.lottery.common.errorcode.ErrorCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author: Themberfue
 * @date: 2025/4/6 21:40
 * @description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor // * 为了序列化，需要无参构造方法
@EqualsAndHashCode(callSuper = true) // ! 使用父类的 equals 和 hashcode 方法
public class ControllerException extends RuntimeException {
    /**
     * 异常码
     * @see com.ljh.lottery.common.errorcode.ControllerErrorCodeConstants
     */
    private Integer code;
    /**
     * 异常消息
     */
    private String message;

    public ControllerException(ErrorCode errorCode) {
        this.code = errorCode.getCode();
        this.message = errorCode.getMsg();
    }
}
